package com.goodbyegirl1974.cardGameProto.parts
{
	import com.goodbyegirl1974.cardGameProto.config.GameConfig;

	public class Attack
	{
		private var _damageNum:Number;
		
		private var _attackNum:int;
		
		private var _hitRate:Number;
		
		private var _energyPoint:Number;
		
		private var _attackKind:String;
		
		private var _statusEffect:String;
		
		private var _statusEffectRate:Number;
		
		/**
		 * コンストラクタ。
		 * @param damageNum
		 * @param attackNum
		 * @param hitRate
		 * @param energyPoint
		 * @param attackKind
		 * @param statusEffect
		 * @param statusEffectRate
		 * 
		 */			
		public function Attack(damageNum:Number, 
							   attackNum:int,
							   hitRate:Number, 
							   energyPoint:Number, 
							   attackKind:String, 
							   //statusEffect:String = GameConfig.STATUS_NORMAL,
							   statusEffect:String = "statusNormal",
							   statusEffectRate:Number = 0.0)
		{
			this._damageNum = damageNum;
			this._attackNum = attackNum;
			this._hitRate = hitRate;
			this._energyPoint = energyPoint;
			this._attackKind = attackKind;
			this._statusEffect = statusEffect;
			this._statusEffectRate = statusEffectRate;
		}

		/** 指定された特殊状態が発生する確率。 */
		public function get statusEffectRate():Number
		{
			return _statusEffectRate;
		}

		/** この攻撃によって発生する特殊状態 */
		public function get statusEffect():String
		{
			return _statusEffect;
		}

		/** 攻撃の属性。 */
		public function get attackKind():String
		{
			return _attackKind;
		}

		/** 攻撃実行に必要なエネルギー数。 */
		public function get energyPoint():Number
		{
			return _energyPoint;
		}

		/** 命中率 */
		public function get hitRate():Number
		{
			return _hitRate;
		}

		/** 攻撃回数 */
		public function get attackNum():int
		{
			return _attackNum;
		}

		/** この攻撃の与ダメージ */
		public function get damageNum():Number
		{
			return _damageNum;
		}

	}
}